package com.ruoyi.system.api.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 服务报告服务基本数据DTO
 *
 * @ClassName ServiceReportDto.java
 * @date 2020/3/10 2:20 下午
 * @author yzg
 */
@ApiModel(value="服务报告服务基本数据DTO",description="服务报告服务基本数据DTO") // 用来描述封装的参数对象与返回的参数对象
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ServiceReportDto {

    /** 主键 */
    @ApiModelProperty(value = "主键",name="id",required = true,dataType="int",example="主键")
    private Long id;

    /** Service号 */
    @ApiModelProperty(value = "Service号",name="serviceNo",required = true,dataType="String",example="Service号")
    private String serviceNo;

    /** 工程师ID */
    @ApiModelProperty(value = "工程师ID",name="enginnerId",required = true,dataType="int",example="工程师ID")
    private Long enginnerId;

    /** 报告辅助id */
    @ApiModelProperty(value = "报告辅助id",name="helpId",required = true,dataType="String",example="报告辅助id")
    private String helpId;

    /** 故障 */
    @ApiModelProperty(value = "故障",name="problem",required = true,dataType="String",example="故障")
    private String problem;

    /** 服务类型 */
    @ApiModelProperty(value = "服务类型",name="serviceType",required = true,dataType="String",example="服务类型")
    private String serviceType;

    /** 服务类型 */
    @ApiModelProperty(value = "服务类型name",name="serviceTypeName",required = true,dataType="String",example="服务类型name")
    private String serviceTypeName;

    /** 收费小时数 */
    @ApiModelProperty(value = "收费小时数",name="chargeHours",required = true,dataType="String",example="收费小时数")
    private Double chargeHours;

    /** 出发时间 */
    @ApiModelProperty(value = "出发时间",name="startTravelDate",required = true,dataType="String",example="出发时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date startTravelDate;

    /** 接收任务时间 */
    @ApiModelProperty(value = "接收任务时间",name="startTravelDate",required = true,dataType="String",example="接收任务时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date orderReceivedDate;

    /** 到达现场时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "到达现场时间",name="onSiteData",required = true,dataType="String",example="到达现场时间")
    private Date onSiteData;

    /** 工作开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "工作开始时间",name="startWorkingTime",required = true,dataType="String",example="工作开始时间")
    private Date startWorkingTime;

    /** 工作结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "工作结束时间",name="endWorkingTime",required = true,dataType="String",example="工作结束时间")
    private Date endWorkingTime;

    /** 总工作小时数 */
    @ApiModelProperty(value = "总工作小时数",name="totalWorkingHours",required = true,dataType="String",example="总工作小时数")
    private Double totalWorkingHours;

    /** 总旅途小时数 */
    @ApiModelProperty(value = "总旅途小时数",name="travelTime",required = true,dataType="String",example="总旅途小时数")
    private Double travelTime;

    /** 工作过程 */
    @ApiModelProperty(value = "工作过程",name="actionTaken",required = true,dataType="String",example="工作过程")
    private String actionTaken;

    /** 结果 */
    @ApiModelProperty(value = "结果",name="results",required = true,dataType="String",example="结果")
    private String results;

    /** 工程师建议 */
    @ApiModelProperty(value = "工程师建议",name="engineersAdvis",required = true,dataType="String",example="工程师建议")
    private String engineersAdvis;

    /** 服务结果 */
    @ApiModelProperty(value = "服务结果",name="serviceResult",required = true,dataType="String",example="服务结果")
    private String serviceResult;

    /** 服务结果 */
    @ApiModelProperty(value = "服务结果",name="serviceResultName",required = true,dataType="String",example="服务结果")
    private String serviceResultName;

    /** 英文故障描述 */
    @ApiModelProperty(value = "英文故障描述",name="enProblemDescription",required = true,dataType="String",example="英文故障描述")
    private String enProblemDescription;

    /** 中断类型 */
    @ApiModelProperty(value = "中断类型",name="suspendType",required = true,dataType="String",example="中断类型")
    private String suspendType;

    /** 中断类型 */
    @ApiModelProperty(value = "中断类型",name="suspendTypeName",required = true,dataType="String",example="中断类型")
    private String suspendTypeName;

    /** 中断子类型 */
    @ApiModelProperty(value = "中断子类型",name="subSuspendType",required = true,dataType="String",example="中断子类型")
    private String subSuspendType;

    /** 中断子类型 */
    @ApiModelProperty(value = "中断子类型",name="subSuspendTypeName",required = true,dataType="String",example="中断子类型")
    private String subSuspendTypeName;

    /** 工作中断原因 */
    @Excel(name = "工作中断原因")
    @ApiModelProperty(value = "工作中断原因",name="workSuspendReason",required = true,dataType="String",example="工作中断原因")
    private String workSuspendReason;

    /** 关注原因 */
    @ApiModelProperty(value = "关注原因",name="concernReason",required = true,dataType="String",example="关注原因")
    private String concernReason;

    /** 子表主键(st_plan_details表主键) */
    @ApiModelProperty(value = "st_plan_details表主键",name="planId",required = true,dataType="String",example="st_plan_details表主键")
    private Long planId;

    /** 服务通知主键（st_service_notice表） */
    @ApiModelProperty(value = "st_service_notice表主键",name="noticeId",required = true,dataType="String",example="st_service_notice表主键")
    private Long noticeId;

    /** 工程师姓名 */
    @ApiModelProperty(value = "工程师姓名",name="fseName",required = true,dataType="String",example="工程师姓名")
    private String fseName;

    /** 仪器贴标 */
    @ApiModelProperty(value = "仪器贴标",name="fseName",required = true,dataType="String",example="仪器贴标")
    private String eqSign;

    private String bu;
    private String prov;
    private String city;
    //接待人  ，手机  电话  邮箱

   private String  receiver;
   private String receiverMobile ;
   private String receiverPhone ;
   private String receiverEmail;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getServiceNo() {
        return serviceNo;
    }

    public void setServiceNo(String serviceNo) {
        this.serviceNo = serviceNo;
    }

    public Long getEnginnerId() {
        return enginnerId;
    }

    public void setEnginnerId(Long enginnerId) {
        this.enginnerId = enginnerId;
    }

    public String getHelpId() {
        return helpId;
    }

    public void setHelpId(String helpId) {
        this.helpId = helpId;
    }

    public String getProblem() {
        return problem;
    }

    public void setProblem(String problem) {
        this.problem = problem;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType;
    }

    public String getServiceTypeName() {
        return serviceTypeName;
    }

    public void setServiceTypeName(String serviceTypeName) {
        this.serviceTypeName = serviceTypeName;
    }

    public Double getChargeHours() {
        return chargeHours;
    }

    public void setChargeHours(Double chargeHours) {
        this.chargeHours = chargeHours;
    }

    public Date getStartTravelDate() {
        return startTravelDate;
    }

    public void setStartTravelDate(Date startTravelDate) {
        this.startTravelDate = startTravelDate;
    }

    public Date getOrderReceivedDate() {
        return orderReceivedDate;
    }

    public void setOrderReceivedDate(Date orderReceivedDate) {
        this.orderReceivedDate = orderReceivedDate;
    }

    public Date getOnSiteData() {
        return onSiteData;
    }

    public void setOnSiteData(Date onSiteData) {
        this.onSiteData = onSiteData;
    }

    public Date getStartWorkingTime() {
        return startWorkingTime;
    }

    public void setStartWorkingTime(Date startWorkingTime) {
        this.startWorkingTime = startWorkingTime;
    }

    public Date getEndWorkingTime() {
        return endWorkingTime;
    }

    public void setEndWorkingTime(Date endWorkingTime) {
        this.endWorkingTime = endWorkingTime;
    }

    public Double getTotalWorkingHours() {
        return totalWorkingHours;
    }

    public void setTotalWorkingHours(Double totalWorkingHours) {
        this.totalWorkingHours = totalWorkingHours;
    }

    public Double getTravelTime() {
        return travelTime;
    }

    public void setTravelTime(Double travelTime) {
        this.travelTime = travelTime;
    }

    public String getActionTaken() {
        return actionTaken;
    }

    public void setActionTaken(String actionTaken) {
        this.actionTaken = actionTaken;
    }

    public String getResults() {
        return results;
    }

    public void setResults(String results) {
        this.results = results;
    }

    public String getEngineersAdvis() {
        return engineersAdvis;
    }

    public void setEngineersAdvis(String engineersAdvis) {
        this.engineersAdvis = engineersAdvis;
    }

    public String getServiceResult() {
        return serviceResult;
    }

    public void setServiceResult(String serviceResult) {
        this.serviceResult = serviceResult;
    }

    public String getServiceResultName() {
        return serviceResultName;
    }

    public void setServiceResultName(String serviceResultName) {
        this.serviceResultName = serviceResultName;
    }

    public String getEnProblemDescription() {
        return enProblemDescription;
    }

    public void setEnProblemDescription(String enProblemDescription) {
        this.enProblemDescription = enProblemDescription;
    }

    public String getSuspendType() {
        return suspendType;
    }

    public void setSuspendType(String suspendType) {
        this.suspendType = suspendType;
    }

    public String getSuspendTypeName() {
        return suspendTypeName;
    }

    public void setSuspendTypeName(String suspendTypeName) {
        this.suspendTypeName = suspendTypeName;
    }

    public String getSubSuspendType() {
        return subSuspendType;
    }

    public void setSubSuspendType(String subSuspendType) {
        this.subSuspendType = subSuspendType;
    }

    public String getSubSuspendTypeName() {
        return subSuspendTypeName;
    }

    public void setSubSuspendTypeName(String subSuspendTypeName) {
        this.subSuspendTypeName = subSuspendTypeName;
    }

    public String getWorkSuspendReason() {
        return workSuspendReason;
    }

    public void setWorkSuspendReason(String workSuspendReason) {
        this.workSuspendReason = workSuspendReason;
    }

    public String getConcernReason() {
        return concernReason;
    }

    public void setConcernReason(String concernReason) {
        this.concernReason = concernReason;
    }

    public Long getPlanId() {
        return planId;
    }

    public void setPlanId(Long planId) {
        this.planId = planId;
    }

    public Long getNoticeId() {
        return noticeId;
    }

    public void setNoticeId(Long noticeId) {
        this.noticeId = noticeId;
    }

    public String getFseName() {
        return fseName;
    }

    public void setFseName(String fseName) {
        this.fseName = fseName;
    }

    public String getEqSign() {
        return eqSign;
    }

    public void setEqSign(String eqSign) {
        this.eqSign = eqSign;
    }

    public String getBu() {
        return bu;
    }

    public void setBu(String bu) {
        this.bu = bu;
    }

    public String getProv() {
        return prov;
    }

    public void setProv(String prov) {
        this.prov = prov;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getReceiver() {
        return receiver;
    }

    public void setReceiver(String receiver) {
        this.receiver = receiver;
    }

    public String getReceiverMobile() {
        return receiverMobile;
    }

    public void setReceiverMobile(String receiverMobile) {
        this.receiverMobile = receiverMobile;
    }

    public String getReceiverPhone() {
        return receiverPhone;
    }

    public void setReceiverPhone(String receiverPhone) {
        this.receiverPhone = receiverPhone;
    }

    public String getReceiverEmail() {
        return receiverEmail;
    }

    public void setReceiverEmail(String receiverEmail) {
        this.receiverEmail = receiverEmail;
    }
}
